Course code 02 03 5876 00
Number of ECTS points 4
Course title in the language of instruction
Technologie informatyczne II
Course title in Polish Technologie informatyczne II
Course title in English
Information Technologies II
Language of instruction Polish
Form of classes
Lecture Tutorials Laboratory Project Seminar Other Total of teaching hours during semester
Contact hours 15 45 0 60
E-learning No No No No No No
Assessment criteria (weightage) 0.50 0.50 0.00
Unit running the course Instytut Automatyki
Course coordinator dr inż. Rafał Nowak
Course instructors
Prerequisites
none
Course learning outcomes
  1. Knows the basic concepts related to the operation of computer networks, network services; is aware of threats in the network, knows the methods of data protection and the principles of safe use of the network. Knows concepts related to object-oriented programming, selected design patterns and issues related to software quality
  2. Can plan simple numerical calculations, implement and evaluate their accuracy
  3. Is able to analyze the given problem, select the appropriate design pattern and propose a set of classes needed to solve it, implement the problem in the form of C++ program along with unit tests, use the available tools for static and dynamic code analysis.
  4. Can use the selected version control system to track local changes and group work.
Programme learning outcomes
  1. Knowledge and understanding at an advanced level - facts, theories, methods and complex relationships between them in the field of scientific disciplines related to the field of study, in particular: Automation, Electronics, Electrical Engineering, Informatics and Telecommunications, including the theoretical foundations of designing control and regulation systems and programming automation and robotics systems. Understanding principles of operation of devices and the basics of technologies (including informatics) used in automation and robotics systems.
  2. Ability to plan and perform experiments, especially in the field of prototyping new control and identification algorithms, critical data analysis, interpretation, presentation and discussion of results, preparation of documentation and communication with the environment using specialized terminology and using appropriate IT tools.
Programme content Computer networks and basic services; Data protection and network security; Numerical calculations regarding engineering problems; Object-oriented programming; Design patterns; Software quality management: metrics, application testing; Group work.
Assessment methods
1. Written test (multiple-choice test with open questions)
3. In-class assignment in the form of a laboratory test related to the presentation of the algorithm for solving a given problem and the development of software implementing the functionality, evaluation of its quality using available tools.
2, 4. Observation of activity in the classroom


 
Grading policies Final test, laboratory attendance. The condition for passing the laboratory is passing the learning outcomes no. 2-4. The final grade consists of passing the lecture (written test passed at least 60%) - 50% weight, passing the laboratory (observation of activity in the classroom, achieving effects required in the instructions, written and practical test) - weight 50%.
Course content Lecture: - Local and access networks - Internet - Internet services: HTTP and DNS - E-services in the Polish administration and economy - Phishing and defense methods - Personal data protection - Sample numerical calculations related to engineering tasks - Object-oriented programming in C++: - basic concepts from object-oriented programming - basics of object-oriented programming in C++ - algorithms and data structures implemented in standard and other libraries - basic design patterns in object-oriented programming - Software quality management - introduction - Application testing: unit tests on the example of the gmock library - Tools for code cover analysis, static and dynamic analysis - Version control Laboratory: - Data protection - The basics of network and security on the Internet - The practical use of virtualization and free software - Implementation of algorithms for selected engineering problems in the C programming language - Acquiring the skills of independent engineering calculations using own programs and supporting software in various computing environments - Simple object-oriented programs, the use of data structures available in standard libraries - Creating unit tests using doubles - Control of code correctness and operation of the application using static and dynamic analysis tools - Use of the version control system and group work.
Basic reference materials
  1. Russel B.: Podstawy sieci komputerowych, Wydawnictwa Komunikacji i Łączności, 2009
  2. Gajda W.: Git. Rozproszony system kontroli wersji, Helion, 2013
  3. Gamma E. i in.: Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Helion, 2010
  4. Prata S.: Język C++. Szkoła programowania. Wydanie VI, Helion 2013
  5. Pawlak R.: Testowanie oprogramowania. Podręcznik dla początkujących, Helion, 2014
  6. Zmitrowicz K.: Jakość projektów informatycznych. Rozwój i testowanie oprogramowania, Helion, 2015
Other reference materials
  1. Szmit M. i in.: 13 najpopularniejszych sieciowych ataków na Twój komputer. Wykrywanie, usuwanie skutków i zapobieganie, Helion, 2008
  2. Zalewski M.: Cisza w sieci : praktyczny przewodnik po pasywnym rozpoznawaniu i atakach pośrednich, Helion, 2005
  3. Bell P., Brent B.: GitHub. Przyjazny przewodnik, Helion, 2015
  4. Freeman E.: Wzorce projektowe. Rusz głową!, Helion 2010
  5. Matlak M.: Język C/C++ i obliczenia numeryczne. Krótkie wprowadzenie, Helion 2016
  6. Martin R.C.: Czysty kod. Podręcznik dobrego programisty, Helion, 2014
  7. Rajani R.: Testowanie kodu w praktyce, Helion, 2018
  8. Myers G.J. i in.: Sztuka testowania oprogramowania, Helion, 2005
Average student workload outside classroom
41
Comments
 
Updated on 2021-01-04 13:12:54
Archival course yes/no no